iT邦幫忙

2021 iThome 鐵人賽

DAY 5
0

Golang 是一種靜態的語言,這個意思就是指說,當我們要產生一個 value 賦予給變數時,都需要同時確定其 value 的資料型態,不能像是 Python 這種動態語言一樣,一下在變數中放數字,一下又改成字串。
最基本的變數宣告如下

var myAge int = 3

以上的 var 代表的是 go 的保留字,等同於 JavaScript 中的 let
myAge 則是變數名,可以根據喜好自行命名,通常在 Go 語言中,我們習慣將變數寫成駝峰型(Camel)的格式。
接著就是 int 了,這個部分就是在靜態語言中,我們在定義變數時,需要加上的資料型態類別,讓 Go 知道這個變數都會代表怎樣類型的資料型態。這邊的意思,就是指說 myAge 都只會接收 int 這種類型的資料型態。

然後這邊有個觀念要跟新手釐清,未來在操作 Go 的時候,我們有時候會直接這樣創造變數

var myAge = 3

這樣其實也是可以被 Go 識別並執行的,可能有人就會有疑問,為什麼這邊不用定義資料型態,一樣能夠執行呢。這是因為 Go 會在背後幫你做判斷,當這個 3 是 Go 認得,並且有相對應的內建資料型態可以定義時,這樣的賦值就不會報錯,背後做的事情跟 var myAge int = 3 是一樣的,不過也因為跟上句的宣告方式是一樣的,我們依然不能操作以下行為

myAge = "happy"

因為 Go 是靜態語言,雖然當你第一次宣告變數時,沒有告知資料型態,但它背後其實幫你做了,所以 myAge 還是被限制只能接受 int 型態的 value,因此當你將 happy 賦值給 myAge 時, Go 就會報錯喔!這是動態轉靜態語言時,又遇到var myAge = 3這樣寫法時,可能會搞錯的地方。

以下是 Go 內建的基本資料型態

基本型態

  1. 整數 int 34
  2. 浮點數 float 3.15
  3. 字串 string "Hello"
  4. 布靈值 bool true/false
  5. 字符 rune 'a'(ASCII 十進位編碼系統,如果輸出 a 字符會是 97)

因為今天太晚開始動工,無法一一展開資料型態的介紹,我會在後續補上,還請大家見諒!謝謝~


上一篇
Day4 : Hello World 程式再解析
系列文
從零開始學 Golang,開發屬於自己的網頁5
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言